package com.cloudbroker.bcs.csvc.uf30.api.service;

import com.cloudbroker.bcs.common.annotation.NoLogin;
import com.cloudbroker.bcs.csvc.base.api.service.HSBCCSService;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.*;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.base.CifForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.base.UF30Form;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.*;

import java.math.BigDecimal;

/**
 * Created by xuyn15828 on 2016/3/21.
 */
public interface VirFundService extends HSBCCSService {
    /**
     * 客户金币转入转出
     * */
    @NoLogin
    public TransIdBackVo goldcoinChange(GoldCoinChangeForm param);

    /**
     * 客户金币冲销
     * */
    @NoLogin
    public TransIdBackVo goldcoinRechangeOff(GoldcoinRechangeOffForm param);

    /**
     * 金币转账
     * */
    @NoLogin
    public TransIdBackVo goldcoinTrans(GoldcoinTransForm param);

    /**
     * 客户金币消费流水查询
     * */
    @NoLogin
    public GoldcoinJourQryBackVo goldcoinJourQry(GoldcoinJourQryForm param);

    /**
     * 客户金币余额查询
     * */
    @NoLogin
    public GoldcoinBalanceQryBackVo goldcoinBalanceQry(CifForm param);

    /**
     * 系统金币转入转出
     * */
    @NoLogin
    public TransIdBackVo goldcoinSystemChange(GoldcoinSysRechangeForm param);

    /**
     * 系统金币消费流水查询
     * */
    @NoLogin
    public GoldcoinJourComQryBackVo goldcoinJourComQry(GoldcoinJourComQryForm param);

    /**
     * 系统金币余额查询
     * */
    @NoLogin
    public GoldcoinComBalanceQryBackVo goldcoinComBalanceQry(UF30Form param);

    /**
     * 客户积分消费流水查询
     * */
    @NoLogin
    public PointJourQryBackVo pointJourQry(PointJourQryForm param);

    /**
     * 客户积分余额查询
     * */
    @NoLogin
    public PointBalanceQryBackVo pointQry(PointBalanceForm param);


    /**
     * 客户积分充值
     * */
    @NoLogin
    public PointChangeBackVo pointRecharge(PointChangeForm param);

    /**
     * 客户积分消费
     * */
    @NoLogin
    public PointChangeBackVo pointConsume(PointChangeForm param);
}
